﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AvaProvi
{
    class clsDictamen_CD
    {
        private dsInmoviliario dsInmoviliario;
        private dsInmoviliarioTableAdapters.DictamenTableAdapter TADictamen;

        public clsDictamen_CD()
        {
            this.dsInmoviliario = new dsInmoviliario();
            this.dsInmoviliario.DataSetName = "dsInmoviliario";
            this.dsInmoviliario.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;

            this.TADictamen = new AvaProvi.dsInmoviliarioTableAdapters.DictamenTableAdapter();
            this.TADictamen.ClearBeforeFill = true;
            //Falta la cadena de coneccion
        }

        public dsInmoviliario.DictamenRow RecuperaDictamenDeAvaluo(int IDAvaluo)
        {
            TADictamen.RecuperaDictamenDeInmueble(this.dsInmoviliario.Dictamen, IDAvaluo);
            foreach (dsInmoviliario.DictamenRow filaDictamen in this.dsInmoviliario.Dictamen)
            {
                return filaDictamen;
            }
            return null;
        }

        public bool CreaNuevoDictamen(clsDictamen_CRN objDictamen)
        {
            int RegistrosAfectados = TADictamen.NuevoDictamen(
                objDictamen.Inmueble.Avaluo.IdAvaluo,
                objDictamen.ObservacionesGenerales,
                objDictamen.Justificacion,
                objDictamen.PavimentosEvaluacion,
                objDictamen.PavimentosMotivo,
                objDictamen.GuarnicionesEvaluacion,
                objDictamen.GuarnicionesMotivo,
                objDictamen.AccesosEvaluacion,
                objDictamen.AccesosMotivo,
                objDictamen.VialiadadesObservaciones,
                objDictamen.RestriccionesEvaluacion,
                objDictamen.RestriccionesMotivo.Motivo,
                objDictamen.ZonasDeAfectacionEvaluacion,
                objDictamen.ZonasDeAfectacionMotivo.Motivo,
                objDictamen.ZonasInundablesEvaluacion,
                objDictamen.ZonasInundablesMotivo.Motivo,
                objDictamen.ZonasDeRiesgoObservaciones,
                objDictamen.AguaPotableEvaluacion,
                objDictamen.AguaPotableMotivo.Motivo,
                objDictamen.DrenajeEvaluacion,
                objDictamen.DrenajeMotivo.Motivo,
                objDictamen.EnergiaElecEvaluacion,
                objDictamen.EnergiaElecMotivo.Motivo,
                objDictamen.AlumbradoEvaluacion,
                objDictamen.AlumbradoMotivo,
                objDictamen.InfraestructuraObservaciones,
                objDictamen.CimentacionEvaluacion,
                objDictamen.CimentacionMotivo.Motivo,
                objDictamen.EstructuraEvaluacion,
                objDictamen.EstructuraMotivo.Motivo,
                objDictamen.MurosEvaluacion,
                objDictamen.MurosMotivo.Motivo,
                objDictamen.LosasEvaluacion,
                objDictamen.LosasMotivo.Motivo,
                objDictamen.BardasEvaluacion,
                objDictamen.BardasMotivo.Motivo,
                objDictamen.ImpermeabilizacionEvaluacion,
                objDictamen.ImpermeabilizacionMotivo.Motivo,
                objDictamen.ObraNegraObservaciones,
                objDictamen.HidraulicaEvaluacion,
                objDictamen.HidraulicaMotivo,
                objDictamen.SanitariaEvaluacion,
                objDictamen.SanitariaMotivo,
                objDictamen.ElectricaEvaluacion,
                objDictamen.ElectricaMotivo,
                objDictamen.GasEvaluacion,
                objDictamen.GasMotivo,
                objDictamen.InstalacionesObservaciones,
                objDictamen.FuncionaliadadEvaluacion,
                objDictamen.FuncionaliadadMotivo,
                objDictamen.EdoConservacionEvaluacion,
                objDictamen.EdoConservacionMotivo.Motivo,
                objDictamen.VidaUtilEvaluacion,
                objDictamen.VidaUtilMotivo.Motivo,
                objDictamen.CalidadObservaciones,
                objDictamen.EducacionEvaluacion,
                objDictamen.EducacionMotivo,
                objDictamen.SaludEvaluacion,
                objDictamen.SaludMotivo,
                objDictamen.AvastoEvaluacion,
                objDictamen.AvastoMotivo,
                objDictamen.RecreacionEvaluacion,
                objDictamen.RecreacionMotivo,
                objDictamen.TransporteEvaluacion,
                objDictamen.TransporteMotivo,
                objDictamen.VigilanciaEvaluacion,
                objDictamen.VigilanciaMotivo,
                objDictamen.RecoleccionBasuraEvaluacion,
                objDictamen.RecoleccionBasuraMotivo,
                objDictamen.EquipamentoObservaciones);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool ActualizaDictamen(clsDictamen_CRN objDictamen)
        {
            int RegistrosAfectados = TADictamen.ActualizaDictamen(
                objDictamen.ObservacionesGenerales,
                objDictamen.Justificacion,
                objDictamen.PavimentosEvaluacion,
                objDictamen.PavimentosMotivo,
                objDictamen.GuarnicionesEvaluacion,
                objDictamen.GuarnicionesMotivo,
                objDictamen.AccesosEvaluacion,
                objDictamen.AccesosMotivo,
                objDictamen.VialiadadesObservaciones,
                objDictamen.RestriccionesEvaluacion,
                objDictamen.RestriccionesMotivo.Motivo,
                objDictamen.ZonasDeAfectacionEvaluacion,
                objDictamen.ZonasDeAfectacionMotivo.Motivo,
                objDictamen.ZonasInundablesEvaluacion,
                objDictamen.ZonasInundablesMotivo.Motivo,
                objDictamen.ZonasDeRiesgoObservaciones,
                objDictamen.AguaPotableEvaluacion,
                objDictamen.AguaPotableMotivo.Motivo,
                objDictamen.DrenajeEvaluacion,
                objDictamen.DrenajeMotivo.Motivo,
                objDictamen.EnergiaElecEvaluacion,
                objDictamen.EnergiaElecMotivo.Motivo,
                objDictamen.AlumbradoEvaluacion,
                objDictamen.AlumbradoMotivo,
                objDictamen.InfraestructuraObservaciones,
                objDictamen.CimentacionEvaluacion,
                objDictamen.CimentacionMotivo.Motivo,
                objDictamen.EstructuraEvaluacion,
                objDictamen.EstructuraMotivo.Motivo,
                objDictamen.MurosEvaluacion,
                objDictamen.MurosMotivo.Motivo,
                objDictamen.LosasEvaluacion,
                objDictamen.LosasMotivo.Motivo,
                objDictamen.BardasEvaluacion,
                objDictamen.BardasMotivo.Motivo,
                objDictamen.ImpermeabilizacionEvaluacion,
                objDictamen.ImpermeabilizacionMotivo.Motivo,
                objDictamen.ObraNegraObservaciones,
                objDictamen.HidraulicaEvaluacion,
                objDictamen.HidraulicaMotivo,
                objDictamen.SanitariaEvaluacion,
                objDictamen.SanitariaMotivo,
                objDictamen.ElectricaEvaluacion,
                objDictamen.ElectricaMotivo,
                objDictamen.GasEvaluacion,
                objDictamen.GasMotivo,
                objDictamen.InstalacionesObservaciones,
                objDictamen.FuncionaliadadEvaluacion,
                objDictamen.FuncionaliadadMotivo,
                objDictamen.EdoConservacionEvaluacion,
                objDictamen.EdoConservacionMotivo.Motivo,
                objDictamen.VidaUtilEvaluacion,
                objDictamen.VidaUtilMotivo.Motivo,
                objDictamen.CalidadObservaciones,
                objDictamen.EducacionEvaluacion,
                objDictamen.EducacionMotivo,
                objDictamen.SaludEvaluacion,
                objDictamen.SaludMotivo,
                objDictamen.AvastoEvaluacion,
                objDictamen.AvastoMotivo,
                objDictamen.RecreacionEvaluacion,
                objDictamen.RecreacionMotivo,
                objDictamen.TransporteEvaluacion,
                objDictamen.TransporteMotivo,
                objDictamen.VigilanciaEvaluacion,
                objDictamen.VigilanciaMotivo,
                objDictamen.RecoleccionBasuraEvaluacion,
                objDictamen.RecoleccionBasuraMotivo,
                objDictamen.EquipamentoObservaciones,
                objDictamen.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool EliminaDictamen(clsDictamen_CRN objDictamen)
        {
            int RegistrosAfectados = TADictamen.EliminaDictamen(
                objDictamen.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }
    }
}
